home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / B-Business / (c)b1.d64 / cops base tape.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  5KB  |  271 lines

  1. 100 REM PLATOON FILE PROGRAM
  2. 105 :
  3. 110 DIM N$(200,27):NF=27:FF=0
  4. 115 :
  5. 120 REM NF-NUMBER OF FIELDS...N$ CONTAINS THE FILE
  6. 125 :
  7. 127 PRINT"[147]MENU[146]"
  8. 130 PRINT"1     CREATE THE FILE"
  9. 135 PRINT"2     UPDATE THE FILE[146]"
  10. 140 PRINT"3     REVIEW THE FILE[146]"
  11. 145 PRINT"4     SORT[146]"
  12. 150 PRINT"5     SAVE[146]"
  13. 155 PRINT"6     QUIT[146]"
  14. 160 :
  15. 165 INPUT"YOUR  CHOICE  PLEASE";YY
  16. 170 IFYY<> 1ANDFF=0    THEN GOSUB 5000
  17. 180 ONYY GOSUB 1000,2000,3000,4000,6000,7000
  18. 185 FF=1
  19. 190 GOTO120
  20. 195 END
  21. 200 :
  22. 1000 REM CREATE THE FILE
  23. 1005 :
  24. 1010 INPUT"HOW MANY FILES";N
  25. 1011 :
  26. 1015 FOR X=1TO N
  27. 1016 PRINT"[147]"
  28. 1020 FOR Y=1 TO NF
  29. 1025 READ A$
  30. 1035 PRINTA$;
  31. 1040 INPUT N$(X,Y)
  32. 1045 NEXTY
  33. 1050 RESTORE
  34. 1055 NEXT X
  35. 1060 :
  36. 1065 PRINT"[147] PRESS PLAY/RECORD ON TAPE"
  37. 1075 PRINT"HIT 'C' TO CONTINUE"
  38. 1080 GET A$:IF A$=""THEN 1080
  39. 1085 PRINT"[147]QUIET[146] I'M SAVING"
  40. 1090 :
  41. 1095 REM SAVING ON TAPE
  42. 1100 OPEN1,1,1,"DATA FILE"
  43. 1105 PRINT#1,N
  44. 1110 FOR X=1 TO N
  45. 1115 FOR Y=1TO NF
  46. 1120 PRINT#1,N$(X,Y)
  47. 1125 NEXT Y
  48. 1130 NEXT X
  49. 1135 CLOSE1
  50. 1136 RETURN
  51. 1140 :
  52. 2000 REM UPDATE ROUTINE
  53. 2005 :
  54. 2010 PRINT"[147]UPDATE MENU"
  55. 2015 PRINT"1     ADD[146]"
  56. 2020 PRINT"2     DELETE[146]"
  57. 2025 PRINT"3     CHANGE[146]"
  58. 2030 :
  59. 2035 INPUT"YOUR CHOICE PLEASE";C
  60. 2040 ON C GOSUB 2500,2700,2300
  61. 2045 INPUT"[147]ANY MORE UPDATES (Y/N)";D$
  62. 2050 IF D$="Y" THEN 2000
  63. 2055 RETURN
  64. 2300 REM CHANGE ROUTINE
  65. 2301 :
  66. 2305 INPUT"[147]BADGE # PLEASE";BN$
  67. 2310 FOR X=1TON
  68. 2315 IF BN$=N$(X,3)THEN GOSUB 2400
  69. 2320 NEXT X
  70. 2325 :
  71. 2330 RETURN
  72. 2400 REM DISPLAY RECORD
  73. 2405 :
  74. 2406 PRINT"[147]HIT RETURN[146] FOR NO CHANGE"
  75. 2410 FOR Y=1 TO NF
  76. 2415 READ A$
  77. 2420 PRINT"";A$;"[146]";TAB(20);N$(X,Y);"   ";"/";
  78. 2425 INPUT"[157][157][157]";B$
  79. 2430 IF B$<>"/" THEN N$(X,Y)=B$
  80. 2435 NEXT Y
  81. 2440 RESTORE
  82. 2445 RETURN
  83. 2450 :
  84. 2500 REM ADD SUBROUTINE
  85. 2505 :
  86. 2510 INPUT"[147]HOW MANY NEW RECORDS";NR
  87. 2512 PRINT"[147]"
  88. 2515 FOR X=N+1TON+NR
  89. 2520 FOR Y=1TONF
  90. 2525 READA$
  91. 2530 PRINTA$;" ";
  92. 2535 INPUT N$(X,Y)
  93. 2540 NEXTY
  94. 2541 PRINT"[147]"
  95. 2545 RESTORE
  96. 2550 NEXTX
  97. 2553 N=N+NR
  98. 2555 RETURN
  99. 2560 :
  100. 2700 REM DELETIONS ROUTINE
  101. 2705 :
  102. 2710 INPUT"[147]BADGE NUMBER";BN$
  103. 2715 X=1
  104. 2720 FOR I=1TO N
  105. 2725 FOR J=1TO NF
  106. 2730 IF BN$=N$(I,3) THEN I=I+1
  107. 2735 N$(X,J)=N$(I,J)
  108. 2740 NEXT J
  109. 2745 X=X+1
  110. 2750 NEXTI
  111. 2751 N=N-1
  112. 2755 RETURN
  113. 2760 :
  114. 3000 REM REVIEW ROUTINE
  115. 3005 :
  116. 3010 PRINT"[147]MENU"
  117. 3015 PRINT"1     REVIEW ENTIRE FILE"
  118. 3020 PRINT"2     REVIEW SINGLE RECORD"
  119. 3025 PRINT"3     REVIEW BY PLATOON"
  120. 3030 INPUT"YOUR CHOICE PLEASE[146]";R
  121. 3035 ON R GOSUB 3200,3500,3700
  122. 3040 INPUT"[147]ANY MORE REVIEWS";B$
  123. 3045 IF B$="Y" THEN 3000
  124. 3050 RETURN
  125. 3055 :
  126. 3200 REM ENTIRE FILE REVIEW
  127. 3205 :
  128. 3207 XX$="[160]"
  129. 3208 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  130. 3209 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  131. 3210 FOR X=1TO N
  132. 3215 PRINT"[147]"
  133. 3220 FOR Y=1TO NF
  134. 3225 READ A$
  135. 3227 IFXX$="Y" THEN GOSUB 8000
  136. 3230 PRINT"";A$;"[146]";TAB(20);
  137. 3235 PRINTN$(X,Y)
  138. 3236 IF Y=13 THEN GOSUB3950
  139. 3240 NEXTY
  140. 3245 RESTORE
  141. 3250 PRINT"HIT C TO CONTINUE[146]"
  142. 3255 GETB$:IF B$="" THEN 3255
  143. 3260 NEXT X
  144. 3261 RETURN
  145. 3265 :
  146. 3500 REM REVIEW BY BADGE NUMBER
  147. 3505 :
  148. 3507 XX$=""
  149. 3508 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  150. 3509 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  151. 3510 INPUT"[147]BADGE NUMBER PLEASE";BN$
  152. 3512 FOR X=1TON
  153. 3513 PRINT"[147]"
  154. 3515 IF BN$<>N$(X,3) THEN 3580
  155. 3520 FOR Y=1TONF
  156. 3525 READA$
  157. 3527 IF XX$="Y" THEN GOSUB 8000
  158. 3530 PRINT"";A$;"[146]";TAB(20);
  159. 3535 PRINTN$(X,Y)
  160. 3536 IF Y=13 THEN GOSUB3950
  161. 3540 NEXTY
  162. 3545 X=N:RESTORE
  163. 3580 NEXT X
  164. 3581 PRINT"HIT C TO CONTINUE"
  165. 3582 GET G$:IF G$=""THEN3582
  166. 3583 RETURN
  167. 3585 :
  168. 3636 IF Y=13 THEN GOSUB 3950
  169. 3700 REM PLATOON REVIEW
  170. 3705 :
  171. 3707 XX$=" "
  172. 3708 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  173. 3709 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  174. 3710 INPUT"[147]ENTER PLATOON NUMBER PLEASE";PN$
  175. 3715 FOR X=1TON
  176. 3716 PRINT"[147]"
  177. 3720 IF PN$<>N$(X,4) THEN 3780
  178. 3725 FOR Y=1TONF
  179. 3727 IFXX$="Y" THEN GOSUB 8000
  180. 3730 READ A$
  181. 3735 PRINT"";A$;"[146]";TAB(20);
  182. 3740 PRINTN$(X,Y)
  183. 3741 IF Y=13 THEN GOSUB 3950
  184. 3745 NEXTY
  185. 3750 RESTORE
  186. 3751 GOSUB 3950
  187. 3780 NEXTX
  188. 3781 PRINT"HIT C TO CONTINUE"
  189. 3782 GETG$:IF G$="" THEN 3782
  190. 3785 RETURN
  191. 3790 :
  192. 3950 PRINT"HIT C TO CONTINUE"
  193. 3955 GETG$
  194. 3960 IF G$="C" THEN PRINT"[147]"
  195. 3965 IF G$=""THEN 3955
  196. 3970 RETURN
  197. 4000 REM SORT ROUTINE
  198. 4005 :
  199. 4010 PRINT"[147]SORT MENU[146]"
  200. 4011 PRINT"REVIEW THE MENU AND PICK THE NUMBER OF THE FIELD YOU WISH TO BE SORTED"
  201. 4015 FOR Y=1TONF
  202. 4020 READA$
  203. 4025 PRINTY,A$
  204. 4026 IF Y=13 THEN GOSUB3950
  205. 4030 NEXT Y
  206. 4035 RESTORE
  207. 4040 INPUT"PICK A NUMBER[146]";SF
  208. 4045 PRINT"[147]SORTING"
  209. 4050 FOR U=1TON-1
  210. 4055 FLAG=0
  211. 4060 FOR V=1TON-U
  212. 4065 IF N$(V,SF)>N$(V+1,SF)THEN GOSUB 4500
  213. 4070 NEXTV
  214. 4075 IF FLAG =0 THEN U=N-1
  215. 4080 NEXTU
  216. 4085 RETURN
  217. 4090 :
  218. 4500 REM SWITCH ROUTINE
  219. 4505 :
  220. 4510 FOR T=1TO NF
  221. 4515 T$=N$(V,T)
  222. 4520 N$(V,T)=N$(V+1,T)
  223. 4525 N$(V+1,T)=T$
  224. 4530 NEXT T
  225. 4535 FLAG =1
  226. 4540 RETURN
  227. 4545 :
  228. 5000 REM LOADING ROUTINE
  229. 5005 :
  230. 5010 PRINT"[147]PRESS PLAY ON TAPE"
  231. 5015 PRINT"HIT 'C' TO CONTINUE"
  232. 5020 GETA$:   IF A$="" THEN 5020
  233. 5025 OPEN1,1,0,"DATA FILE"
  234. 5030 INPUT#1,N
  235. 5035 FOR X=1TO N
  236. 5040 FOR Y=1TO NF
  237. 5045 INPUT#1,N$(X,Y)
  238. 5050 NEXTY
  239. 5055 NEXTX
  240. 5060 CLOSE1
  241. 5061 RETURN
  242. 5065 :
  243. 6000 REM    SAVING ROUTINE
  244. 6005 :
  245. 6010 PRINT"[147]REWIND TAPE AND PRESS PLAY/RECORD"
  246. 6015 OPEN1,1,1,"DATA FILE"
  247. 6020 PRINT#1,N
  248. 6025 FOR X=1TON
  249. 6030 FOR Y=1TO NF
  250. 6035 PRINT#1,N$(X,Y)
  251. 6040 NEXTY
  252. 6045 NEXTX
  253. 6050 CLOSE1
  254. 6055 RETURN
  255. 6060 :
  256. 7000 REM END ROUTINE
  257. 7005 :
  258. 7010 PRINT"[147][145][145][145][157][157][157]BYE FOR NOW MUFFIN[146]"
  259. 7015 END
  260. 7020 RETURN
  261. 8000 OPEN4,4
  262. 8005 PRINT#4,A$;CHR$(16);"40";N$(X,Y)
  263. 8010 CLOSE4
  264. 8015 RETURN
  265. 10000 DATA NAME,RANK,BADGE NUMBER,PLATOON,ADDRESS 1,ADDRESS 2,RES PHONE
  266. 10005 DATA BUS PHONE,DATE JOINED,DATE PROMOTED,B CARD (Y/N)
  267. 10010 DATA DATE OR ISSUE,DOC A POS,DOC B NEG,PROBATIONS,LOA
  268. 10015 DATA PERFORMANCE REVIEW,MEETINGS #P,MEETINGS #E,MEETINGS #A,TOTAL HOURS
  269. 10020 DATA CAR/BEAT Y/T/D HRS,SPECIALS #P,SPECIALS #E,SPECIALS #A,TOTAL HOURS
  270. 10025 DATA GRAND TOTAL Y/T/D
  271.